<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.Promise代表的是一个异步操作  它是构造函数 new Promise
        // 2.new Promise()时,要传递一个实参,这个实参是回调函数,这个函数会立即执行
        // 3.在回调函数中内部一般写的是异步代码
        // 4.Promise的原型上一些方法,这些方法是可以被实例调用 then catch  finally
        // then catch  finally 里面的回调函数都是事件循环eventloop的微任务
        // 5.then方法的第一个参数函数会传递给resolve,第二个参数函数会传递给reject

        // Promise的实例的状态
        // 1.等待 pending
        // 2.成功 fulfilled
        // 3.失败 rejected

        // let p = new Promise(function(resolve,reject){
            // console.log(123);
            // ...异步代码

            // 成功时:
            // resolve()

            // 失败时:
            // reject()
        // })
        // console.log(p);
        // p.then(function(){},function(){})
        // p.then(function(){}).catch(function(){})


        // 复习Promise的静态方法
        // 静态方法:将方法挂载到函数上,这个方法可以称为静态方法
        Promise.all()
        Promise.race()

        // Promise.reject()  => p = new Promise(function(resolve,reject){ reject() })
        // console.log(Promise.reject("失败1"));
        // console.log(new Promise(function(resolve,reject){ reject("失败2") }));
        let p = new Promise(function(resolve,reject){ 
            reject("失败2") 
        })
        p.catch(function(err){
            console.log(err);
        })


        // Promise.resolve() => new Promise(function(resolve,reject){ resolve() })

    


        




    </script>
</body>
</html>